package com.teradyne.phoenix.client.factory;

import com.google.gwt.event.shared.EventBus;
import com.google.gwt.place.shared.PlaceController;
import com.teradyne.phoenix.client.locale.AppLocale;
import com.teradyne.phoenix.client.views.AppMenuViewImpl;
import com.teradyne.phoenix.client.views.RolesView;
import com.teradyne.phoenix.client.views.UserView;
import com.teradyne.phoenix.shared.PhoenixServiceAsync;

public interface AppFactory {
	EventBus getEventBus();

	PlaceController getPlaceController();

	// views
	UserView getUserView();

	RolesView getRolesView();
	
	AppMenuViewImpl getAppMenuViewImpl();

	// services
	PhoenixServiceAsync getPhoenixService();

	//internationalization
	AppLocale getAppLocale();

}
